﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GIC.DAO.Model;
using FluentNHibernate.Mapping;

namespace GIC.DAO.Mapping
{
    public class ParametrosMap : ClassMap<Parametros>
    {
        public ParametrosMap()
        {
            Id(x => x.Id);
            Map(x => x.dataOcorrencia);

            Map(x => x.alturaCM);
            Map(x => x.espacamentoCM);
            Map(x => x.larguraCM);

            Map(x => x.loteImpressao);
            Map(x => x.qtdCopias);

            Map(x => x.socketPorta);
            Map(x => x.socketIP);
            Map(x => x.deviceID);

            Map(x => x.nomeFonte);
            Map(x => x.nomeImpressora);
            Map(x => x.tipoEtiqueta);

            Table("Parametros");
        }
    }

    public class ChassisMap : ClassMap<Chassi>
    {
        public ChassisMap()
        {
            Id(x => x.Id);
            Map(x => x.dataOcorrencia);

            Map(x => x.bodyNumber);
            Map(x => x.cModule).Nullable();
            Map(x => x.dataImpressao).Nullable();

            Map(x => x.impresso);
            Map(x => x.reportDate).Nullable();

            Map(x => x.SEQ).Nullable();
            Map(x => x.stationCode).Nullable();

            Table("Chassi");
        }
    }

    public class SocketHyundaiMap : ClassMap<SocketHyundai>
    {
        public SocketHyundaiMap()
        {
            Id(x => x.Id);
            Map(x => x.dataOcorrencia);

            Map(x => x.BODY_NO);
            Map(x => x.chassi);
            Map(x => x.SN);
            Map(x => x.SEQ_DIA);
            Map(x => x.dataChassiSocket);
            Map(x => x.SpoolPoint);
            Map(x => x.StationCode);
            Map(x => x.FlagRequisicao);

            Table("SocketHyundai");
        }
    }

    public class BodyNoReenvioMap : ClassMap<BodyNoReenvio>
    {
        public BodyNoReenvioMap()
        {
            Id(x => x.Id);

            Map(x => x.BodyNo);
            Map(x => x.Status);
            Map(x => x.Data);

            Table("BodyNoReenvio");
        }
    }

    public class SenhaMap : ClassMap<Senha>
    {
        public SenhaMap()
        {
            Id(x => x.SenhaTxt);

            Table("Senha");
        }
    }


    public class EtiquetaChassiLeitorMap : ClassMap<EtiquetaChassiLeitor>
    {
        public EtiquetaChassiLeitorMap()
        {
            Id(x => x.Id);

            Map(x => x.CodigoEtiqueta);
            Map(x => x.CodigoChassi);

            Table("EtiquetaChassiLeitor");
        }
    } 
}
